//
//  MianTabBar.swift
//  01-微博项目搭建
//
//  Created by Adolph on 15/5/14.
//  Copyright (c) 2015年 Adolph. All rights reserved.
//

import UIKit

class MianTabBar: UITabBar {
    
    override func layoutSubviews() {
        super.layoutSubviews()
        //按钮的总数
        let btnCount = 5
        
        ///每一个btn的宽度
        let w = self.frame.size.width / CGFloat(btnCount)
        ///每一个btn的高度
        let h = self.frame.size.height
        ///每一个按钮的大小是一样的
        let frame = CGRectMake(0, 0, w, h)
        
        var index = 0
        for btn in subviews as! [UIView]{
            // 只需要修改 UITabBarButton 的位置
            // 判断 v 的类型，在 OC 中是使用 isKindOfClass
            // UIControl 可以 addTarget，主动的添加监听方法，可以接受用户的点击或者触摸事件
            if btn is UIControl && !(btn is UIButton){
                btn.frame = CGRectOffset(frame, CGFloat(index) * w, 0)
                index += (index == 1) ?2:1
            }
        
        }
        
        self.composedButton.frame = frame
        self.composedButton.center = CGPointMake(self.center.x, h * 0.5)
    
    }
    
    
    
    
    
    ///懒加载TabBar
  lazy var composedButton: UIButton = {
     
        let btn = UIButton()
    
        btn.setImage(UIImage(named: "tabbar_compose_icon_add"), forState: UIControlState.Normal)
        btn.setImage(UIImage(named: "tabbar_compose_icon_add_highlighted"), forState: UIControlState.Selected)
        btn.setBackgroundImage(UIImage(named: "tabbar_compose_button"), forState: UIControlState.Normal)
        btn.setBackgroundImage(UIImage(named: "tabbar_compose_button_highlighted"), forState: UIControlState.Selected)
      // 懒加载的代码是闭包，是提前准备好的代码，在需要的时候执行，闭包中就需要使用 self.
        self.addSubview(btn)
        return btn
    }()
   
}
